//package org.sakai.config.aop;
//
//import io.minio.BucketExistsArgs;
//import io.minio.MinioClient;
//import jakarta.annotation.Resource;
//import org.aspectj.lang.JoinPoint;
//import org.aspectj.lang.ProceedingJoinPoint;
//import org.aspectj.lang.annotation.Around;
//import org.aspectj.lang.annotation.Aspect;
//import org.aspectj.lang.annotation.Before;
//import org.aspectj.lang.annotation.Pointcut;
//import org.sakai.entity.ErrorCode;
//import org.sakai.entity.Result;
//
//@Aspect
//public class MinioAOP {
//    @Resource(name = "AdminMinioClient")
//    MinioClient AdminMinioClient;
//
//    @Pointcut("execution(* org.sakai.service.MinioService.*(..))")
//    public void minioPointcut(){}
//
//    @Around("minioPointcut()")
//    public Object aroundAdvice(ProceedingJoinPoint joinPoint) throws Throwable {
//        // 获取方法参数
//        Object[] args = joinPoint.getArgs();
//        if (args.length > 0 && args[0] instanceof String) {
//            String userId = (String) args[0];
//            // 调用前置检查方法
//            if (!bucketExists(userId)) {
//                // 如果前置检查失败，直接返回错误结果
//                return Result.error(ErrorCode.BUCKET_NOT_EXIST);
//            }
//        }
//
//        // 如果前置检查通过，继续执行目标方法
//        return joinPoint.proceed();
//    }
//
//    /**
//     * 查看Bucket是否存在
//     * @param userId 用户ID
//     * @return 是否存在
//     * @throws Exception 异常
//     */
//    public boolean bucketExists(String userId) throws Exception {
//        try {
//            if (AdminMinioClient.bucketExists(BucketExistsArgs.builder().bucket(userId).build())) {
//                return true;
//            }
//        } catch (Exception e) {
//            return false;
//        }
//        return false;
//    }
//}
